package com.jt.controller;

import com.jt.pojo.User;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/*
后端进行页面跳转一般使用Controller注解、以前方法
前后端分离。页面不归后台管，使用Restcontroller、现在的方法

Restcontroller是controller+responsebody两种结合
*/

@RestController
//固定写法@PropertySource("classpath:/")，/后面加我们的配置文件
//注解的规则:如果注解中只有一个属性，value的则属性名称可以不用写
//如果有多个属性，则必须要写
@PropertySource(value="classpath:/user.properties",encoding = "utf-8")

public class Hello {
    /*表达式：springel表达式。简称sple表达式
    语法：${表达式内容}
    原理：
    容器。在内存中存入大量数据的map集合
    1.当springboot项目启动时。首先加载application。xml的配置文件
    2.当加载到key-value时。将数据保存到map集合中
    3.利用sple表达式。通过key，获取value 之后再给变量赋值
    * */
    //value注解是获取yml文件的配置数据的

    @Value("${userinfo.name}")
    private String name;
    @Value("${userinfo.age}")
    private Integer age;
    @Value("${user.info2}")
    private String name2;



    @RequestMapping("/hello")
    public String hello(){

        return "欢迎光临夜深人静小店:"+name+age+"你好"+name2;

    }

    @RequestMapping("/userinfo")
    public User get(){
        User user=new User();
        //以前的写法
      /*  user.setId(15);
        user.setName("张三");
        user.setSex("男男");
        */
        //新写法操作链式加载。需在对象实现类里重写set方法
        user.setId(15).setName("女女").setSex("男女");

        return user;
    }

}
